DJI SOS — license, credits and sources
=====================================

DJI SOS: Copyright (C) 2026 Hansley. GPL-3.0-or-later.
Free software, redistributable and modifiable under GNU GPL version 3 or
later, without warranty. Full text: LICENSE; details: LICENSING.en.md.

The complete sources are available offline from the Help menu,
“Show complete source code…”. The ZIP is in the SourceCode directory
inside the application's resources. It includes the modifiable Swift code,
scripts, exact third-party sources, their licenses and build recipes.
See REBUILD.en.md in that archive.
Nine old, unused precompiled MATLAB modules have been removed from the
libvmaf archive; its sources, licenses and build scripts are retained.
The transformation and original upstream checksum are documented.

DJI SOS processes videos locally. The tools run as local processes;
the profile catalog also comes from djifix's arrays and is used directly
by the Swift engine. Users need no connection, Homebrew or Python to
repair a video.

djifix
------
Copyright (c) 2014–2026 Live Networks, Inc.
Version 2026-10-31; GPL-3.0-or-later.
Official project: https://djifix.live555.com/
Complete unmodified C source: ThirdParty/djifix/djifix.c.
License: ThirdParty/djifix/COPYING.GPLv3.
The profiles in Resources/Profiles are derived from this GPLv3+ source.
Their extraction and exclusions are in Scripts/generate_profiles.py.
Compilation: Apple clang, -O2 -arch arm64 -mmacosx-version-min=15.0.

untrunc
-------
Copyright 2010 Federico Ponchio and contributors; GPL-2.0-or-later.
Original project: https://github.com/ponchio/untrunc
Fork maintained by anthwlock: https://github.com/anthwlock/untrunc
Commit: 9d86ec9ef2ffed1bf8131abe80742c0574db52b6
Complete source: ThirdParty/untrunc/untrunc-source.tar.gz.
Includes code derived from AtomicParsley: Copyright 2006 puck_lock,
GPL-2.0-or-later (src/AP_AtomDefinitions.h in the source archive).
Detailed notices remain in the headers of the individual source files.
Local compilation: Apple clang++, C++17, arm64, macOS 15.0,
with FFmpeg 8.1. Commands and output: ThirdParty/tool-build-commands.json
and ThirdParty/tool-build.log. No upstream source modification.

FFmpeg and ffprobe
-----------------
FFmpeg developers and contributors. https://ffmpeg.org/
Version 8.1, Homebrew package 8.1_1, arm64; GPL-3.0-or-later for this build
with --enable-gpl --enable-version3. Exact source: ffmpeg-8.1.tar.xz.
The four GPL/LGPL texts, LICENSE.md, recipe, receipt and SPDX inventory
are in ThirdParty/libraries/ffmpeg-8.1_1/.
The effective configure options are in ThirdParty/ToolsSmokeTests.json.
This software is based in part on the work of the Independent JPEG Group.

Redistributed non-system libraries
---------------------------------
Component         Version   Upstream license
dav1d             1.5.3     BSD-2-Clause
LAME              3.100     LGPL-2.0-or-later
libvmaf           3.1.0     BSD-2-Clause-Patent
libvpx            1.16.0    BSD-3-Clause
OpenSSL           3.6.2     Apache-2.0
Opus              1.6.1     BSD-3-Clause
SVT-AV1           4.1.0     BSD-3-Clause and BSD-2-Clause portions
x264              r3222     GPL-2.0-or-later
x265              4.2       GPL-2.0-or-later

Each ThirdParty/libraries/ directory preserves the original notices,
copyrights, licenses, available author lists, exact Homebrew recipe,
build receipt and SPDX inventory. The complete archives in the source ZIP
also preserve the internal licenses of files and subprojects.
Homebrew and its recipes use BSD-2-Clause; its license is preserved
in ThirdParty/Homebrew-LICENSE.txt. These are build recipes,
not an app dependency for users.

Sources and transformations
---------------------------
The ThirdParty/CorrespondingSources/manifest.json file in the ZIP maps
each source to its version, URL, SHA-256 checksum and binaries.
The upstream archives for the nine releases were checked against the
SHA-256 checksums in the preserved recipes. For x264, the exact Git commit
is preserved with the necessary version information. djifix and untrunc
are also included. The libvmaf archive is the documented source-only
variant described above; its metadata distinguishes the original upstream
checksum from the sanitized archive's checksum.
The LAME recipe removes lame_init_old from include/libmp3lame.sym;
this modification is documented in REBUILD-DEPENDENCIES.md. The other
preserved recipes do not patch the code of these releases.

package_tools.py copies the binaries, replaces non-system paths with
@loader_path, removes build-machine rpaths, and signs the copies ad hoc.
Scripts/notarize_release.py adds timestamped Developer ID signatures for
direct distribution. build.sh assembles the code in Contents/Helpers and
Contents/Frameworks, with its catalog in Contents/Resources/Profiles.
These Mach-O changes are the only additional transformations of the
Homebrew binaries; no system installation is modified.
Resources/ToolsManifest.json documents the dependency graph, original
and bundled checksums, architectures and target operating systems.
The payload contains 21 Mach-O files, 39,406,880 bytes.
Apple libraries and frameworks remain supplied by macOS.

This edition targets Apple Silicon (arm64), macOS 15.0 or later.
The components of this preparation are Developer ID-signed with secure timestamps.
The final notarization status is documented in the distribution directory.
DJI SOS is an independent application and does not represent DJI.
No personal video file is included in the distributed sources.
